﻿using System;
using System.Collections.Generic;
using Gasco.DataAccess;

namespace Gasco.Business.Services
{
    public interface IProductService
    {

        IList<origin> GetOrigins();
        int CountOrigins(origin SearchOrigin);
        void UpdateOrigin(origin o);
        origin CreateOrigin(origin o);
        origin GetOriginById(int id);
        void DeleteOrigin(int id);
        List<origin> SearchOrigins(string keyword, int pageSize, int pageNumber, string sortBy, string sortDirection);
        int CountSearchOrigins(string keyword);

       IList<product> GetProducts();
        int CountProducts();
        product CreateProduct(product p);
        void UpdateProduct(product p);
        void DeleteProduct(int id);
        product GetProductById(int id);
        List<product> SearchProducts(string keyword, int pageSize, int pageNumber, string sortBy, string sortDirection);
        int CountSearchProducts(string keyword);

        IList<product_type> GetProductType(product_type example);
        IList<unit> GetUnit(unit example);
    }
}
